import 'dart:math';

import 'package:flutter/material.dart';

class ColorUtils {
  static Color hexToColor(String hexColor) {
    // 移除颜色字符串中的 # 号
    hexColor = hexColor.replaceAll("#", "");

    // 检查颜色字符串的长度是否为 6 或 8
    if (hexColor.length == 6) {
      // 如果长度为 6，则默认不透明度为 100%（FF）
      hexColor = "FF" + hexColor;
    } else if (hexColor.length != 8) {
      // 如果长度不为 8，则抛出异常
      throw Exception("Invalid hex color: $hexColor");
    }

    // 将十六进制颜色转换为整数
    int colorValue = int.parse(hexColor, radix: 16);

    // 使用Color.fromARGB方法将整数转换为颜色对象
    return Color(colorValue);
  }

  /// 随机颜色
  static Color randomColor() {
    return Color.fromARGB(
      255,
      1 + Random().nextInt(254),
      1 + Random().nextInt(254),
      1 + Random().nextInt(254),
    );
  }
}
